Skip to content

feat: add safari 26.3#384

Merged
mingyech merged 1 commit intomasterfrom
safari_26_3
Mar 1, 2026
Merged

feat: add safari 26.3#384
mingyech merged 1 commit intomasterfrom
safari_26_3

Conversation

@mingyech
Copy link
Member

@mingyech mingyech commented Mar 1, 2026

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Safari ClientHello parrot preset and makes it the default Safari “Auto” fingerprint, updating the library’s Safari TLS handshake emulation to a newer profile.

Changes:

  • Add HelloSafari_26_3 ClientHelloID and map it to a new ClientHelloSpec in utlsIdToSpec.
  • Update HelloSafari_Auto to point to HelloSafari_26_3 instead of HelloSafari_16_0.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
u_parrots.go Introduces the HelloSafari_26_3 ClientHelloSpec (ciphers/extensions/curves/keyshares) in the parrot switch.
u_common.go Registers the new HelloSafari_26_3 ID and updates HelloSafari_Auto to use it by default.
Comments suppressed due to low confidence (2)

u_parrots.go:2246

  • A new HelloSafari_26_3 fingerprint is introduced here, but there isn't a corresponding test ensuring the preset can be converted via UTLSIdToSpec and successfully applied via ApplyPreset (and that the resulting extension list/keyshares match expectations). Adding a small unit test would help prevent future regressions in this fingerprint.
	case HelloSafari_26_3:
		return ClientHelloSpec{
			TLSVersMin: VersionTLS12,
			TLSVersMax: VersionTLS13,
			CipherSuites: []uint16{

u_common.go:661

  • HelloSafari_Auto now points to HelloSafari_26_3, which changes the default Safari parrot behavior for any callers using the auto preset (e.g., drops TLS 1.0/1.1 support and changes the extension set). If this is intended, it would be good to treat it as an API/behavior change (e.g., mention in release notes / CHANGELOG); otherwise consider keeping HelloSafari_Auto on the previous preset for backward compatibility and letting callers opt into HelloSafari_26_3 explicitly.
	HelloSafari_Auto = HelloSafari_26_3

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mingyech mingyech merged commit aa6edf4 into master Mar 1, 2026
7 checks passed
@mingyech mingyech deleted the safari_26_3 branch March 1, 2026 01:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants